翻訳と辞書
Words near each other
・ Condensate polisher
・ Concurrent estate
・ Concurrent estimation
・ Concurrent Euclid
・ Concurrent Haskell
・ Concurrent jurisdiction
・ Concurrent lines
・ Concurrent List
・ Concurrent logic programming
・ Concurrent majority
・ Concurrent mark sweep collector
・ Concurrent MetateM
・ Concurrent ML
・ Concurrent object-oriented programming
・ Concurrent overlap
Concurrent Pascal
・ Concurrent powers
・ Concurrent resolution
・ Concurrent tandem catalysis
・ Concurrent Technologies Corporation
・ Concurrent testing
・ Concurrent use registration
・ Concurrent user
・ Concurrent validity
・ Concurrent Versions System
・ Concurring opinion
・ Concursion
・ Concursive
・ Concurso de Cante Jondo
・ Concurso Internacional Aemus


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Concurrent Pascal : ウィキペディア英語版
Concurrent Pascal

Concurrent Pascal (also known as PASCAL-FC) was designed by Per Brinch Hansen for writing concurrent computing programs such as
operating systems and real-time monitoring systems on shared memory
computers.
A separate language, Sequential Pascal, is used as the language for applications programs run by the operating
systems written in Concurrent Pascal. Both languages are extensions of Niklaus Wirth's Pascal,
and share a common threaded code interpreter. The following describes how Concurrent Pascal differs from Wirth's Pascal.
==Language description==
Several constructs in Pascal were removed from Concurrent Pascal for simplicity and security:
*variant records
*the goto statement (and labels)
*procedures as parameters
*packed arrays
*pointer types
*file types (and associated standard input/output procedures).
These omissions make it possible to guarantee, by a combination of compile-time checks and minimal run-time checking in the threaded-code interpreter, that a program can not damage itself or another program by addressing outside its allotted space.
Concurrent Pascal includes class, monitor, and process data types. Instances of these types are declared as variables, and initialized in an init statement.
Classes and monitors are similar: both package private variables and procedures with public procedures (called procedure
entries). A class instance can be used by only one process, whereas a monitor instance may be shared by processes. Monitors provide the only mechanism for interprocess communication in a Concurrent Pascal program.
Only one process can execute within a given monitor instance at a time. A built in data type, the queue, together with operations
delay and continue, are used for scheduling within monitors. Each variable of type queue can hold a single process; if many processes are to be delayed in a monitor, multiple queue variables, usually organized as an array, must be provided. The single process queue variable gives a monitor complete control over medium-term scheduling, but the programmer is responsible for unblocking the correct process.
A process, like a class or monitor, has local variables, procedures,
and an initial statement, but has no procedure entries.
The initial statement ordinarily executes forever,
calling local procedures, class procedures,
and monitor procedures.
Processes communicate through monitor procedures.
Language rules prevent deadlock by imposing a hierarchy on monitors.
But nothing can prevent a monitor from erroneously
forgetting to unblock a delayed process (by not calling continue)
so the system can still effectively hang up through programming errors.
The configuration of processes, monitors, and classes in a Concurrent
Pascal program is normally established at the start of execution,
and is not changed thereafter.
The communication paths between these components are established
by variables passed in the init statements, since class and
monitor instance variables cannot be used as procedure parameters.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Concurrent Pascal」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.